小妹求教有关函数多返回值问题^_^,谢谢大家~~

来源:百度知道 编辑:UC知道 时间:2024/06/29 21:32:05
题目是这样的:
设有30个学生参加考试,学号由1到30.分别编写以下函数:
1.将考试成绩大于85分的学生的学号和成绩输出;
2.将三十个学生的成绩由高分到低分排列,输出排列好的成绩及每个成绩对应的学号;
我的部分程序:
# include<iostream.h>
int excellent(int m[30]);
int array(int m[30]);
void main()
{
int a[30];
int i,j;
cout<<"请输入学生成绩"<<endl;
for(i=0;i<30;i++)
cin>>a[i];
cout<<"成绩大于85分的学生成绩"<<endl;
cout<<"学号"<<' '<<j<<' '<<excellent(a[i])<<endl;
}

int excellent(int m[30])
{
int i;
for(i=0;i<30;i++)
j=i+1;
if(m[i]>85)
return m[i];

}
关键问题就是不知道怎么学号成绩一起返回,第二问就压根不会了。这道题必须用函数呦~~^_^
请大家帮小妹看看吧~~谢了~还有,请大虾们改过后运行一下,如果对了的话有额外加分的哦~~(*^__^*) 嘻嘻…
谢谢大家了~~

/*********运行环境 Visual C++6.0 *******************/

# include<iostream>
using namespace std;

#define LEN 30 //数组长度
void excellent(int m[],int n);
void array(int m[],int n);
void main()
{
int a[LEN];
int i,j;
cout<<"请输入学生成绩"<<endl;
for(i=0;i<LEN;i++)
cin>>a[i];
excellent(a,i);
array(a,i);

}

void excellent(int m[],int n)
{
int i;
cout<<"成绩大于85分的学生成绩"<<endl;
for(i=0;i<n;i++){
if(m[i]>85) //判断,大于85的就输出

cout<<"学号 "<<i+1<<"成绩"<<m[i]<<endl;
}

}

void array(int m[], int n)
{
int num[LEN]; //定义一个数组,存放学号
int i,j,k,t;

for(i=0;i<n;i++)
num[i]=i+1;

for(j=0;j<n-1;j++) //冒泡排序法,按成绩由大到小排序
for(i=0;i<n-j-1;i++)
if(m[i]<m[i+1]){